import axios from 'axios';
import store from '@/store/index'
import router from "@/router";

const apis = {
    production: '',// （线上）
    development: 'http://localhost:9090', // （本地）
}
// 判断环境
const BASEURL = (process.env.NODE_ENV === 'production') ? apis.production : apis.development

const request  = axios.create({
    // 请求接口基本路径
    baseURL:'http://192.168.0.101:7000',
    // 请求超时时间 5s
    timeout: 50000,
    responseType: 'json',
    headers: {
        'Content-Type': 'application/json;charset=UTF-8',
    },
})
// 请求拦截器，在发送前做什么，例如：判断用户是否登录
request.interceptors.request.use((config) => {
    const token = sessionStorage.getItem('token');
    const path = router.currentRoute.fullPath; // 获取当前路由的路径
    if(path === '/' || path === '/register'){
        // config：配置对象，headers请求头
        return config;
    } else {
        config.headers.token = token //携带token
    }
    return config;
})

// 响应拦截器：发送请求，得到响应之后做什么
request.interceptors.response.use((res) => {
    // 请求成功的响应回调
    return res.data;
}, (error) => {
    // 请求失败的响应回调
    return Promise.reject(new Error("fail"))
})

// 对外暴露
export default request;

